Assistant Integration

Suite and Assistant are two separate, standalone applications that communicate seamlessly over localhost. Understanding how they connect is key to getting the most out of the ecosystem.

How They Talk

The Assistant is the Hub. The Suite is a Spoke. The Assistant calls the Suite's HTTP API directly whenever it needs to perform an action inside the IDE.

🧠 Assistant (Hub)

Runs on port 3003. Holds all AI logic, agents, tools, and conversation memory. Initiates all cross-app actions.

🛠️ Suite (Spoke)

Runs on port 19001. Exposes a REST API for the Assistant to open files, display interactive apps, and read workspace context.

Communication Flow

When you ask the Assistant to do something that involves the Suite (e.g. "open server.js" or "generate a calculator app"), this is what happens:

  1. The LLM responds with a tool call — e.g. display_file_ide("src/server.js")
  2. The Assistant's backend executes the tool, then POSTs to the Suite's REST API:
    POST http://localhost:19001/api/files/receive-iapp
  3. The Suite receives the request and opens the file or app in the editor UI.
[!NOTE] Both apps must be running simultaneously for cross-app actions to work. If the Suite is not running, the Assistant will display a warning message instead.

What the Assistant Can Do in the Suite

MCP: For External Services

MCP (Model Context Protocol) is used for connecting the Assistant to external third-party services — not for Suite ↔ Assistant communication. Configure MCP servers for services like GitHub, Jira, or Postgres in ~/.ollie-assistant/mcp_config.json. Once added, their tools appear automatically in all agents.

Running Both Apps Together

For local development, start both apps independently:

# Terminal 1 — Suite
cd ollie/suite && npm start

# Terminal 2 — Assistant
cd ollie/assistant && npm start

For production, each app has its own deploy_production.sh script and runs as a managed process on the server.